package com.wm.comm;

import java.util.Arrays;

/**
 * @author �ű���
 *
 * Time : 2007-8-2
 * 
 * ��ݼ��������
 */
public class Code {
	/**
	 * ����ݼ���
	 * @param bsrc
	 * @return
	 */
	public static String enCode(byte[] bsrc){  //����
		String dest="",str;
		byte bb;
		int num;
		if(bsrc==null)return "";
		for(int ii=0;ii<bsrc.length;ii++){
			bb=bsrc[ii];
		    if(bb>=0)num=bb;
		    else num=(bb&0x7F)+(1<<7);
		    str=Integer.toHexString(num);
		    if(str.length()<2)str="0"+str;
		    dest+=str.toUpperCase();
		}
		return dest;
	}
	/**
	 * ������ݻ�ԭ
	 * @param src
	 * @return
	 */
	public static byte[] deCode(String src){
		if(src.length()<2)return new byte[0];
		byte[] dest=new byte[src.length()/2];
		byte rb;
		String str;
		Arrays.fill(dest,(byte)0);
		int index=0;
		for(int ii=0;ii<src.length()-1;ii++){
		  str="#"+src.substring(ii,ii+2);
		  rb=(byte)Integer.decode(str).intValue();
		  dest[index++]=rb;
		  ii++;
		}
		return dest;
	}
}
